package com.example.redpacket.service;


import com.example.redpacket.dto.RedPacketDto;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description 红包业务逻辑处理过程中数据记录接口-异步实现
 * @Author 大雄 <1194353393@qq.com>
 * @Version V1.0.0
 * @Since 1.0
 * @Date 2022/5/1 16:22
 */
public interface IRedService {

    /**
     * 记录发红包时的信息
     *
     * @param dto   红包信息
     * @param redId 红包全局唯一标识符
     * @param list  随机金额列表
     * @throws Exception 异常
     */
    void recordRedPacket(RedPacketDto dto, String redId, List<Integer> list) throws Exception;

    /**
     * 记录抢红包时用户的红包金额等信息
     *
     * @param userId 用户id
     * @param redId  红包全局唯一标识符
     * @param amount 金额大小
     * @throws Exception 异常
     */
    void recordRobRedPacket(Integer userId, String redId, BigDecimal amount) throws Exception;

}
